#include <cstdlib>
#include <iostream>
#include "Test.h"
#include "Models/Player.h"
#include "PrintFunct.h"
using namespace PrintFunction;

int main(void) {
	Test *test = test->getInstance();

	Printn("Text Based RPG: Try 2\n");
	test->runAllTests();
	system("pause");
	cout<<"**********************************************\n\n";
	// TODO
	// IT'S BUGGGEEEED! FUCK THIS SHIT I'M GOING TO BED.
	//
	Entity *Cosmin, *Daemon;

	/////

	Player* test1;
	PlayerClass* cl1;
	PlayerClass* cl2;

	test1 = new Player();
	cl1 = new PlayerClass("WARRIOR");
	cl2 = new PlayerClass("MAGE");
	test1->setPlayerClass((const PlayerClass*&)cl1);
	cout<<"PlayerClass: "<<test1->getPlayerClass()->getClassString()<<"\n";



	/////

//	Cosmin = new Player("Cosmin", "MAGE");
//	Daemon = new Player("Daemon", "WARRIOR");
//	cout<<Cosmin->getName()<<" the "<<Cosmin->getPlayerClass()->getClassString()<<" has "<<Cosmin->getPlayerStats()->getHitPoints()<<" and "<<Cosmin->getPlayerStats()->getDamage()<<" damage\n";
//	Daemon->setTarget(Cosmin);
//	if(Daemon->attack())
//		cout<<"Daemon the "<<Daemon->getPlayerClass()->getClassString()<<" attacks "<<Cosmin->getName()<<" for "<<(Daemon->getPlayerStats()->getDamage() + Daemon->getPlayerStats()->getBonusDamage())<<" damage\n";
//	else
//		cout<<"Attack Unsuccessful\n";
//	cout<<Cosmin->getName()<<" the "<<Cosmin->getPlayerClass()->getClassString()<<" has "<<Cosmin->getPlayerStats()->getHitPoints()<<" and "<<Cosmin->getPlayerStats()->getDamage()<<" damage\n";

//	system("pause");
	return 0;
}

